#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
手动创建超级用户脚本
"""

import sys
import os

# 添加项目根目录到Python路径
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

from app.database import SessionLocal, engine
from app.models import User, Base
from app.utils.security import get_password_hash

def create_superuser():
    """创建超级用户"""
    # 创建数据库表(如果不存在)
    Base.metadata.create_all(bind=engine)
    
    # 创建数据库会话
    db = SessionLocal()
    
    try:
        # 检查用户是否已存在
        existing_user = db.query(User).filter(User.username == "iscxiao").first()
        if existing_user:
            print("用户 'iscxiao' 已存在！")
            return
        
        # 创建超级用户
        superuser = User(
            username="iscxiao",
            password=get_password_hash("aaAA1234"),  # 密码加密
            name="超级管理员",
            phone="18981905727",
            category="9",  # 假设superadmin表示超级用户
            is_active=True  # 确保用户是活跃的
        )
        
        # 添加到数据库
        db.add(superuser)
        db.commit()
        db.refresh(superuser)
        
        print(f"超级用户创建成功！")
        print(f"用户ID: {superuser.id}")
        print(f"用户名: {superuser.username}")
        print(f"手机号: {superuser.phone}")
        print(f"用户类型: {superuser.category}")
        
    except Exception as e:
        print(f"创建超级用户时出错: {str(e)}")
        db.rollback()
    finally:
        db.close()

if __name__ == "__main__":
    print("开始创建超级用户...")
    create_superuser()
    print("操作完成!")